home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
dora
/
doraedit.plp
< prev
next >
Wrap
Text File
|
1993-11-30
|
26KB
|
1,088 lines
/* 共通ルーチン */
/* 入力ファイル選択(ワイルドカード不可) */
%FILEsel0{
[MSG,TYP]
SNDMSG({erande_f.snd});
footnote(MSG);
case (TYP={},
{Yes},{OLDFILE:=@filesel},
{No},{OLDFILE:=@filesel(TYP)}
);
case (OLDFILE={},
{Yes},{im({})},
{No},{
case (@wild(OLDFILE),
{Yes},{
display({ワイルドカード指定はできません\n});
FILEsel0(MSG,TYP);
},
{No},{
case (@nochar(@getcdir)==3,
{Yes},{OLDFILE:=@getcdir|OLDFILE},
{No},{OLDFILE:=@getcdir|{\}|OLDFILE});
case (@filechk(OLDFILE),
{No},{
SNDMSG({okasi_f.snd});
display(OLDFILE|{がありません\n});
FILEsel0(MSG,TYP);
},
{Yes},{im(OLDFILE)}
)})})};
/* 入力ファイル選択(ワイルドカード可) */
%FILEsel1{
[MSG,TYP]
SNDMSG({erande_f.snd});
footnote(MSG);
case (TYP={},
{Yes}, {OLDFILE:=@filesel},
{No}, {OLDFILE:=@filesel(TYP)}
);
case (OLDFILE={},
{Yes},{im({})},
{No},
{
case (@wild(OLDFILE),
{Yes},
{
case (@nochar(@getcdir)==3,
{Yes},
{OLDFILE:=@getcdir|OLDFILE},
{No},
{OLDFILE:=@getcdir|{\}|OLDFILE}
);
im(OLDFILE);
},
{No},
{
case (@nochar(@getcdir)==3,
{Yes},
{OLDFILE:=@getcdir|OLDFILE},
{No},
{OLDFILE:=@getcdir|{\}|OLDFILE}
);
case (@filechk(OLDFILE),
{No},
{
SNDMSG({okasi_f.snd});
display(OLDFILE|{がありません\n});
FILEsel1(MSG,TYP);
},
{Yes},{im(OLDFILE)}
);
});
});
};
/* 表示終了待ち */
%WAITLOOP{
loop ({
footnote({終了},{b});
waitx();
case (@xtype,
101,{im({No})},201,{im({No})},
,{im({Yes})}
);
});
};
/* ファイル基本操作 */
/* ファイル表示 */
%DISPLAY{
loop ({
case (@FILEsel0({表示するファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
display(@xc({1B})|{[37m});
footnote({ファイル表示 }|OLDFILE);
command({type }|OLDFILE|{|more});
loop ({
footnote({終了},{b});waitx();
case(@xtype,101,{im({No})},201,{im({No})},
,{im({Yes})});
});
im({Yes});
});});};
/* ファイル複写 */
%COPY {
%FILEsel2{
SNDMSG({erande_f.snd});
footnote({複写先のファイルを指定して下さい 複写元=}|OLDFILE);
NEWFILE:=@filesel;NEWDIR:=@getcdir;
case(@nochar(NEWDIR)==3,{No},{NEWDIR:=NEWDIR|{\}});
case(@wild(OLDFILE),{Yes},{NEWFILE:={*.*}});
case(NEWFILE={},{Yes},{NEWFILE:={*.*}});
NEWFILE:=NEWDIR|NEWFILE;
};
loop ({
case(@FILEsel1({複写元のファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
FILEsel2;
case(@filechk(NEWFILE),
{Yes},
{
SNDMSG({kaknin_f.snd});
footnote({ファイル複写 }|
OLDFILE|{ -> }|NEWFILE);
select ({複写先のファイルに上書き}|
{してもいいですか?},
Wtime4,,
{ は い },
{copyfile(OLDFILE,NEWFILE)},
{ いいえ },
);
},
{No},{copyfile(OLDFILE,NEWFILE)}
);
im({Yes});
});});};
/* ファイル移動 */
%MOVE {
%FILEsel2{
SNDMSG({erande_f.snd});
footnote({移動先のディレクトリへ移動し右クリックして下さい 移動元=}|
OLDFILE);
filesel;NEWDIR:=@getcdir;
case(@nochar(NEWDIR)==3,
{Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
{No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
};
loop ({
case(@FILEsel1({移動元のファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
FILEsel2;
var fileno [3];
case(@wild(OLDFILE),
{No},
{case (@filechk(NEWFILE),
{Yes},
{
SNDMSG({kaknin_f.snd});
footnote({ファイル移動 }|
OLDFILE|{ -> }|NEWFILE);
select ({移動先のファイルに上書き}|
{してもいいですか?},
Wtime4,,
{ は い },{fileno:={1}},
{ いいえ },{fileno:={0}});
},
{No},{fileno:={1}});
},
{Yes},{NEWFILE:=@body(NEWFILE,,{\})|{\*.*};
fileno:={n}}
);
case(fileno,
{1},
{
delfile(TEMP2|{_moptemp.tmp});
command({copy }|OLDFILE|{ }|NEWFILE|
{ > }|TEMP2|{_moptemp.tmp});
case (@read(TEMP2|{_moptemp.tmp}),
{ 1 個のファイルを}|
{コピーしました.\n},
{delfile(OLDFILE)});
},
{n},
{
delfile(TEMP2|{_moptemp.tmp});
command({copy }|OLDFILE|{ }|NEWFILE|
{ > }|TEMP2|{_moptemp.tmp});
var N [4];
N:=0;
loop ({
N:=N+1;
%f1 @read(TEMP2|{_moptemp.tmp},N,1);
case(@tail(f1,{個のファイルを}),
{コピーしました.\n},
{im({No})},
,
{
case(@head(f1,{\n})<>
TEMP2|{_MOPTEMP.TMP},
{Yes},
{command({del }|
@head(f1,{\n}))});
im({Yes});
});});
},
{0},
);
im({Yes});
});});};
/* ファイル名変更 */
%RENAME {
%FILEsel2{
SNDMSG({nyuryo_f.snd});
footnote({新ファイル名を入力して下さい 旧ファイル名=}|OLDFILE);
NEWFILE:=@input({新ファイル名を入力して下さい},,@tail(OLDFILE,{\}));
im(NEWFILE);
};
loop ({
case(@FILEsel1({ファイル名を変更するファイルを}|
{指定して下さい},)={},
{Yes},{im({No})},
{No},
{
case(@FILEsel2={},
{Yes},{im({No})},
{No},
{
footnote({ファイル名変更 }|
OLDFILE|{ -> }|NEWFILE);
copyfile(OLDFILE,NEWFILE);
delfile(OLDFILE);
im({Yes});
});});});};
/* ファイル削除 */
%DELETE {
loop ({
case(@FILEsel1({削除するファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
SNDMSG({kaknin_f.snd});
footnote({ファイル削除 }|OLDFILE);
select (OLDFILE|{を削除してもいいですか?},
Wtime4,,
{ は い },
{case (@tail(OLDFILE,{\})={*.*},
{Yes},{command({echo y|del }|OLDFILE)},
{No},{command({del }|OLDFILE)})},
{ いいえ },
);
im({Yes});
});});};
/* 全ファイル削除 */
%DELall {
SNDMSG({erande_f.snd});
footnote({全ファイル削除するディレクトリへ移動して}|
{左クリックして下さい});
filesel;
OLDDIR:=@getcdir;
SNDMSG({kaknin_f.snd});
case (@nochar(OLDDIR)==3,
{Yes}, {footnote({全ファイル削除 }|OLDDIR|{*.*})},
{No}, {footnote({全ファイル削除 }|OLDDIR|{\*.*})}
);
select (OLDDIR|{の全ファイルを削除してもいいですか?},
Wtime4,,
{ は い },
{setcdir(OLDDIR);command({echo y|del *.*})},
{ いいえ },
);
};
/* ファイル一覧表示 */
%DIR {
loop ({
case(@FILEsel1({一覧表示するファイルを指定してください },)={},
{Yes},
{
OLDDIR:=@getcdir;SNDMSG({kaknin_f.snd});
footnote({ファイル一覧表示 }|OLDDIR);
select (OLDDIR|{の全ファイル一覧表示ですか?},
Wtime4,,
{全ファイル一覧表示},
{
command({dir }|OLDDIR);
loop ({
footnote({終了},{b});
waitx();
case(@xtype,101,{im({No})},
201,{im({No})},,{im({Yes})});
});
im({Yes});
},
{ 取 消 },
);
},
{No},
{
footnote({ファイル一覧表示 }|OLDFILE);
command({dir }|OLDFILE);
loop ({
footnote({終了},{b});
waitx();
case (@xtype,
101,{im({No})},201,{im({No})},
,{im({Yes})});
});
im({Yes});
});});};
/* ファイル編集 */
%EDIT {
[flag]
var memono[1];
%FILEsel2{
[MSG,TYP]
SNDMSG({erande_f.snd});footnote(MSG);
case(TYP={},
{Yes},{NEWFILE:=@filesel},
{No},{NEWFILE:=@filesel(TYP)});
case(NEWFILE={},{Yes},{im({})},
{No},{
case(@wild(NEWFILE),
{Yes},{
display({ワイルドカード指定はできません\n});
FILEsel2(MSG,TYP);
},
{No},{
case(@nochar(@getcdir)==3,
{Yes},{NEWFILE:=@getcdir|NEWFILE},
{No},{NEWFILE:=@getcdir|{\}|NEWFILE});
im(NEWFILE);
})})};
%save {
footnote({メモ}|memono|{を保存します});
%file @FILEsel2({保存ファイル名を指定してください},);
case (file<>{},
{Yes},{
CloseAllMemo;dispoff(!DEBUG);
delfile(file);dispoff({No});mwrite(file,memono);
mopen(memono);mclose(3);im({No});
},
{No},{im({Yes})}
)};
%update{
footnote(OLDFILE|{を更新しています});
CloseAllMemo;
copyfile(OLDFILE,@body(OLDFILE,,{\})|{*.bak});
delfile(OLDFILE);
mwrite(OLDFILE,memono);mopen(memono);mclose(3);im({No})
};
%cancel {
SNDMSG({kaknin_f.snd});footnote({文書編集を取消しますか?});
select({文書編集を取消しますか?},
Wtime4,{footnote({});im({Yes})},
{ は い },
{
CloseAllMemo;
delfile(TEMP2|{_mopmemo.bak});
mwrite(TEMP2|{_mopmemo.bak},memono);
mopen(memono);mclose(3);footnote({});im({No});
},
{ いいえ },{footnote({});im({Yes})}
)
};
%rewrite{
footnote({編集中のメモ内容を清書しています});
CloseAllMemo;
%cdir @getcdir;
setcdir(CDIR);
dispoff(!DEBUG);
delfile(TEMP2|{_moptext.tmp});
delfile(TEMP2|{_moptext.new});
mwrite(TEMP2|{_moptext.tmp},memono);
command({txf -f -i }|TEMP2|{_moptext.tmp}|
{ -o }|TEMP2|{_moptext.new});
dispoff({No});
case (@filechk(TEMP2|{_moptext.new}),
{Yes},
{
mclear(memono);
mread(TEMP2|{_moptext.new},memono);
%memomax @mlast;
var memono1 [2];
memono1:=memono+1;
loop ({
case (memono1<=memomax,
{Yes},
{
case(@mcheck!=0,{Yes},{mclose(1)});
mopen(memono1);
});
memono1:=memono1+1;
im(memono1<=memomax);
});
case (memomax>memono,
{Yes},
{
case(@mcheck!=0,{Yes},{mclose(1)});
mopen(memono,0,21,639,399,{w});
},
{No},
{
case(@mcheck!=0,{Yes},{mclose(1)});
mopen(memono,0,21,639,459,{w});
});
},
{No},
{
display({清書機能には TXF.EXE がパスの通った}|
{ディレクトリに必要です\n});
wait(2);
%memomax @mlast;
var memono1 [1];
memono1:=memono+1;
loop ({
case (memono1<=memomax,
{Yes},
{
case(@mcheck!=0,{Yes},{mclose(1)});
mopen(memono1);
});
memono1:=memono1+1;
im(memono1<=memomax);
});
case (memomax>memono,
{Yes},
{
case(@mcheck!=0,{Yes},{mclose(1)});
mopen(memono,0,21,639,399,{w});
},
{No},
{
case(@mcheck!=0,{Yes},{mclose(1)});
mopen(memono,0,21,639,459,{w});
});
});
setcdir(cdir);
im({Yes});
};
/* 他のファイルを参照するためにメモを開く */
%newmemo{
case (@mlast==9,
{Yes},
{
footnote({メモ番号が一杯のため新しいメモが開けません});
wait(2);
},
{No},
{
CloseAllMemo;
mopen(memono,0,21,639,399);
mclose(1);
%memo1 @mlast+1;
madd(memo1,{\n});
mclear(memo1);
%file1 @filesel;
case (file1<>{}&&@filechk(file1),
{Yes},{mread(file1,memo1)});
mopen(memo1,0,221,639,459);
});
im({Yes});
};
%MEMONO @mlast;
case (MEMONO==9,
{Yes},
{
footnote({メモ9を利用してファイル編集を行います});
SNDMSG({kaknin_f.snd});
select({メモ9を利用してファイル編集を行います},
Wtime4,{memono:=0},
{ は い },{memono:=9},
{ いいえ },{memono:=0}
);
},
{No},{memono:=MEMONO+1}
);
case (memono>0&&flag==1,
{Yes},
{
loop ({
CloseAllMemo;
case(@FILEsel0({編集するファイルを選択}|
{してください},)<>{},
{Yes},
{
mclear(memono);
mread(OLDFILE,memono);
mopen(memono,0,21,639,459,{w});
loop ({
footnote({更新取消参照清書UPLD},{b});
waitx();
case (@xtype,
101,update, 201,update,
102,cancel, 202,cancel,
103,newmemo, 203,newmemo,
104,rewrite, 204,rewrite,
105,{UP1(memono)},
205,{UP1(memono)},
,{im({Yes})}
);
});
im({Yes});
},
{No},{im({No})}
);
});
},
{No}, /* 新規ファイル編集の場合 */
{
case (memono>0,
{Yes},
{
CloseAllMemo;
madd(memono,{\n});
mclear(memono);
mopen(memono,0,21,639,459,{w});
loop ({
footnote({保存取消参照清書UPLD},{b});
waitx();
case (@xtype,
101,save, 201,save,
102,cancel, 202,cancel,
103,newmemo, 203,newmemo,
104,rewrite, 204,rewrite,
105,{UP1(memono)},
205,{UP1(memono)},
,{im({Yes})}
);
});
});
});
};
/* オートアップロード制御ファイル作成処理 */
%UP1 {[memono]
%up2 {
footnote({メモの保存を行いますか?});SNDMSG({erande_f.snd});
select ({メモの保存をおこないますか?},
Wtime4,{im({Yes})},
{ファイルに保存して終了},{save},
{ファイルに保存せずに終了},
{CloseAllMemo;mopen(memono);mclose(3);im({No})},
{ 編集画面に戻る },{im({Yes})}
)};
footnote({アップロード先は?});SNDMSG({erande_f.snd});
select ({アップロード先は?},
Wtime4,{im({Yes})},
{ テキストメール },{AUTOmail;up2},
{ ボード },{AUTOforum;up2},
{シスオペ宛メール},{AUTOsmail;up2},
{ プロフィール },{AUTOprof;up2},
{ 取 消 },{im({Yes})}
)};
%RESERV {
case (reserv,
{ 1},{im({})},
{ 2},{im({保留;})},
,{im({})}
);
};
/* テキストメールアップ制御文作成 */
%AUTOmail{
footnote({テキストメール送信制御文作成});
var mail[40];
var title[40];
var ok[2];
loop ({SNDMSG({nyuryo_f.snd});
%a @plane( {cテキストメール送信\n}|
{t 送信先ID /xxxxxxxxxxxxxxxxxxxx}|
{xxxxxxxxxxxxxxxxxxxx\n}|
{s / 検索 \n}|
{t タイトル /xxxxxxxxxxxxxxxxxxxx}|
{xxxxxxxxxxxxxxxxxxxx\n}|
{r 送信予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
mail,title,1);
mail:= @head(@getline(a,1,1),{\n});
%search @head(@getline(a,2,1),{\n});
title:= @head(@getline(a,3,1),{\n});
%reserv @head(@getline(a,4,1),{\n});
ok:= @head(@getline(a,5,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (search,
{ 1},
{
%id1 @IDsearch;
case (id1<>{},
{Yes},
{
case (mail<>{},
{Yes},{mail:=mail|{,}|id1},
{No},{mail:=id1}
);
});
mopen(memono,0,21,639,459,{w});im({Yes});
});
case (ok,
{ 1},
{case (mail={}||title={},
{No},
{
%file @crefile(UP,{UP});
CloseAllMemo;
mwrite(UP2|file,memono);
mopen(memono,0,21,639,459,{w});
%cntl @RESERV|{mail=}|mail|{;file=}
|UP2|file|{ ;title=}|title|CRLF;
write(UP2|{_mopres.ctl},cntl);
im({No});
},
{Yes},
{
im({Yes})
});
},
{ 2},{im({No})}
);
});
};
/* ボード書き込み制御文作成 */
%AUTOforum{
footnote({ボード制御文作成});
var forum[8];
var mes[3];
var reply[4];
var title[40];
var ok[2];
loop ({SNDMSG({nyuryo_f.snd});
%a @plane( {cボードへの新規発言\n}|
{t ネット名 /xxxxxxxx\n}|
{cSIGボードの場合はネット名の変わりに\n}|
{cパスワードを入力して下さい\n}|
{t ボード番号 /xxxxx\n}|
{tコメント元番号/xxx\n}|
{t タイトル /xxxxxxxxxxxxxxxxxxxx}|
{xxxxxxxxxxxxxxxxxxxx\n}|
{r 送信予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
NET,mes,reply,title,1);
forum:= @head(@getline(a,1,1),{\n});
mes:= @head(@getline(a,2,1),{\n});
reply:= @head(@getline(a,3,1),{\n});
title:= @head(@getline(a,4,1),{\n});
%reserv @head(@getline(a,5,1),{\n});
ok:= @head(@getline(a,6,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (ok,
{ 1},
{
%file @crefile(UP,{UP});
CloseAllMemo;
mwrite(UP2|file,memono);
mopen(memono,0,21,639,459,{w});
%cntl @RESERV|{forum=}|forum|{;}|{mes=}|mes|{;}|
{reply=}|reply|{;}|
{file=}|UP2|file|{;}|{title=}|title|CRLF;
write(UP2|{_mopres.ctl},cntl);
im({No});
},
{ 2},{im({No})}
);
});
};
/* シスオペ宛メールアップ制御文作成 */
%AUTOsmail{
footnote({シスオペ宛メール送信制御文作成});
var smail[8];
var title[40];
var ok[2];
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cシスオペ宛メール送信\n}|
{t ネット名 /xxx\n}|
{t タイトル /xxxxxxxxxxxxxxxxxxxx}|
{xxxxxxxxxxxxxxxxxxxx\n}|
{r 送信予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
NET,title,1);
smail:= @head(@getline(a,1,1),{\n});
title:= @head(@getline(a,2,1),{\n});
%reserv @head(@getline(a,3,1),{\n});
ok:= @head(@getline(a,4,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (ok,
{ 1},
{case (smail={}||title={},
{No},
{
%file @crefile(UP,{UP});
CloseAllMemo;
mwrite(UP2|file,memono);
mopen(memono,0,21,639,459,{w});
%cntl @RESERV|{sysmail=}|smail|{;}|
{file=}|UP2|file|{;}|
{title=}|title|CRLF;
});
write(UP2|{_mopres.ctl},cntl);
im({No});
},
{ 2},{im({No})}
);
});
};
/* プロフィール情報書き込み制御文作成 */
%AUTOprof{
footnote({プロフィール情報登録制御文作成});
var ok[2];
loop ({
%a @plane( {cプロフィール情報登録\n}|
{r 送信予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
1);
%reserv @head(@getline(a,1,1),{\n});
ok:= @head(@getline(a,2,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (ok,
{ 1},
{
%file @crefile(UP,{UP});
CloseAllMemo;
mwrite(UP2|file,memono);
mopen(memono,0,21,639,459,{w});
%cntl @RESERV|{profile=}|{;}|
{file=}|UP2|file|{;\n};
write(UP2|{_mopres.ctl},cntl);
im({No});
},
{ 2},{im({No})}
);
});
};
/* NAPLPSファイル表示 */
%NAPLPS {
loop ({
case(@FILEsel0({NAPLPSデータファイルを指定して下さい},{NPB})
={},
{Yes},{im({No})},
{No},
{
footnote({NAPLPSファイル表示 }|OLDFILE);
naplps(OLDFILE);
loop ({
footnote({終了},{b});waitx();
case(@xtype,101,{napend;im({No});},
201,{napend;im({No});},,{im({Yes})});
});
im({Yes});
});
});
};
/* ファイル応用操作 (lha,ish,diet) */
/* ファイル凍結 */
%LHAarc {
%FILEsel2{
SNDMSG({nyuryo_f.snd});
footnote({書庫ファイル名を入力して下さい 元ファイル=}|OLDFILE);
NEWFILE:=@filesel({LZH});NEWDIR:=@getcdir;
case(NEWFILE<>{},
{Yes},{case(@nochar(NEWDIR)==3,
{Yes},{NEWFILE:=NEWDIR|NEWFILE},
{No},{NEWFILE:=NEWDIR|{\}|NEWFILE})});
im(NEWFILE);
};
loop ({
case(@FILEsel1({圧縮凍結するファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
case(@FILEsel2={},{Yes},{im({No})},
{No},
{
footnote({ファイル圧縮凍結処理中 }|
OLDFILE|{ -> }|NEWFILE);
command({lha u }|NEWFILE|{ }|OLDFILE);
im({Yes});
});
});
});
};
/* .LZH ファイルを.EXE へ変換処理 */
%LHAs {
%FILEsel2{
SNDMSG({erande_f.snd});
footnote({変換先のディレクトリへ移動してネ(右クリックで終了) 変換元=}|
OLDFILE);
%dmy @filesel;
NEWDIR:=@getcdir;
case (@nochar(NEWDIR)==3,
{Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
{No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
};
loop ({
case (@FILEsel0({変換するファイル(*.LZH)を選択して下さい},
{LZH})={},
{Yes},{im({No})},
{No},
{
FILEsel2;
footnote({LHAファイル変換処理中}|OLDFILE|{->.EXE});
command({lha s }|OLDFILE);
im({Yes});
});
});
};
/* ファイル解凍 */
%LHAext {
%FILEsel2{
SNDMSG({erande_f.snd});
footnote({解凍先のディレクトリへ移動し右クリックして下さい 解凍元=}|
OLDFILE);
%dmy @filesel;NEWDIR:=@getcdir;
case(@nochar(NEWDIR)==3,
{Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
{No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
};
loop ({
case(@FILEsel0({解凍する *.LZH ファイルを指定して下さい},{LZH})
={},
{Yes},{im({No})},
{No},
{
FILEsel2;footnote({ファイル解凍処理中 }|OLDFILE);
command({lha x }|OLDFILE);im({Yes});
});
});
};
/* 凍結ファイル内容表示 */
%LHAlst {
loop ({
case(@FILEsel0({内容表示する *.LZH ファイルを}|
{指定して下さい},{LZH})={},
{Yes},{im({No})},
{No},
{
footnote({凍結ファイル内容表示中 }|OLDFILE);
command({lha l }|OLDFILE);im({Yes});
});
});
};
/* ファイル石化 */
%ISHstr {
loop ({
case(@FILEsel1({*.ISH ファイルに変換するファイルを}|
{指定して下さい},)={},
{Yes},{im({No})},
{No},
{
case(OLDFILE={},{Yes},{im({No})},
{No},
{
footnote({ISHファイル変換処理中 }|OLDFILE);
command({ish }|OLDFILE|{ /ss});im({Yes});
});
});
});
};
/* ファイル解石 */
%ISHres {
loop ({
case(@FILEsel1({復元する *.ISH ファイルを指定して下さい},{ISH})
={},
{Yes},{im({No})},
{No},
{
case(OLDFILE={},{Yes},{im({No})},
{No},
{
footnote({ISHファイル復元処理中 }|OLDFILE);
command({ish }|OLDFILE|{ /r});im({Yes});
});
});
});
};
/* ダイエット処理 */
%DIETarc{
loop ({
case(@FILEsel1({ダイエットするファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
case(OLDFILE={},{Yes},{im({No})},
{No},
{
footnote({ダイエット処理中 }|OLDFILE);
command({diet }|OLDFILE);im({Yes});
});
});
});
};
/* ダイエットファイル復元 */
%DIETres{
loop ({
case(@FILEsel1({復元するダイエットファイルを}|
{指定して下さい},)={},
{Yes},{im({No})},
{No},
{
case(OLDFILE={},{Yes},{im({No})},
{No},
{
footnote({ダイエットファイル復元処理中 }|
OLDFILE);
command({diet -ra }|OLDFILE);im({Yes});
});
});
});
};
/* 差分ファイル作成処理 */
%BDIFF {
%FILEsel2{
SNDMSG({nyuryo_f.snd});
footnote({新ファイル名を入力して下さい 旧ファイル=}|OLDFILE);
NEWFILE:=@filesel;NEWDIR:=@getcdir;
case(NEWFILE<>{},
{Yes},{case(@nochar(NEWDIR)==3,
{Yes},{NEWFILE:=NEWDIR|NEWFILE},
{No},{NEWFILE:=NEWDIR|{\}|NEWFILE})});
im(NEWFILE);
};
loop ({
case(@FILEsel0({差分を作成する旧ファイルを指定して下さい},)={},
{Yes},{im({No})},
{No},
{
case(@FILEsel2={},{Yes},{im({No})},
{No},
{
footnote({ファイル差分作成処理中 }|
OLDFILE|{ -> }|NEWFILE);
command({BDIFF }|OLDFILE|{ }|NEWFILE);
im({Yes});
});
});
});
};
/* 差分ファイル復元処理 */
%BUPDATE{
loop ({
case(@FILEsel0({差分ファイルを指定して下さい},{BDF})={},
{Yes},{im({No})},
{No},
{
footnote({ファイル差分更新処理中 差分ファイル=}|OLDFILE);
command({BUPDATE }|OLDFILE);im({Yes});
});
});
};
/* ディレクトリ基本操作 */
/* ツリー表示 */
%TREE {
SNDMSG({erande_f.snd});
footnote({ツリー表示するディレクトリへ移動して右クリックして下さい});
filesel;
OLDDIR:=@getcdir;
footnote({ツリー表示中 }|OLDDIR);
command({tree }|OLDDIR);
WAITLOOP;
};
/* ディレクトリ作成 */
%MKDIR {
SNDMSG({erande_f.snd});
footnote({作成するディレクトリ名を指定して下さい});
NEWDIR:=@filesel;
OLDDIR:=@getcdir;
case (@nochar(OLDDIR)==3,
{Yes}, {NEWDIR:=OLDDIR|NEWDIR},
{No}, {NEWDIR:=OLDDIR|{\}|NEWDIR}
);
mkdir2(NEWDIR);
};
/* ディレクトリ削除 */
%RMDIR {
SNDMSG({erande_f.snd});
footnote({削除するディレクトリへ移動して右クリックして下さい});
filesel;
OLDDIR:=@getcdir;
case (@nochar(OLDDIR)==3,
{Yes},
{
SNDMSG({okasi_f.snd});
display({ルートディレクトリは削除できません\n});
},
{No},
{
SNDMSG({kaknin_f.snd});
footnote({削除ディレクトリ=}|OLDDIR);
select ({ディレクトリ }|OLDDIR|{ を削除してもいいですか?},
Wtime4,,
{ は い },
{
setcdir2(@body(OLDDIR,,{\}));
command({rmdir }|@tail(OLDDIR,{\}));
},
{ いいえ },
);
});
};
/* ファイル基本操作の選択 */
%FILEman1{
loop ({
SNDMSG({erande_f.snd});
footnote({ファイル基本操作の処理を選択して下さい});
select({ファイル基本操作メニュー},
Wtime4,{im({No})},
{ファイル表示 -type(more)},{DISPLAY;im({Yes})},
{ファイル複写 -copy },{COPY;im({Yes})},
{ファイル移動 -copy&del },{MOVE;im({Yes})},
{ファイル名変更 -rename },{RENAME;im({Yes})},
{ファイル削除 -del },{DELETE;im({Yes})},
{全ファイル削除 -del *.* },{DELall;im({Yes})},
{ファイル一覧表示 -dir },{DIR;im({Yes})},
{ 終 了 },{im({No})});
});
};
/* ディレクトリ操作の選択 */
%DIRman {
loop ({
SNDMSG({erande_f.snd});
footnote({ディレクトリ操作の処理を選択して下さい});
select({ディレクトリ操作メニュー},
Wtime4,{im({No})},
{ツリー表示 =TREE },{TREE;im({Yes})},
{ディレクトリ作成 -mkdir },{MKDIR;im({Yes})},
{ディレクトリ削除 -rmdir },{RMDIR;im({Yes})},
{ 終 了 },{im({No})}
);
});
};
/* ファイル応用操作の選択 */
%FILEman2{
loop ({
SNDMSG({erande_f.snd});
footnote({ファイル応用操作の処理を選択して下さい});
select({ファイル応用操作メニュー},
Wtime4,{im({No})},
{ファイル圧縮凍結 >LHA u },{LHAarc;im({Yes})},
{ .LZH から.EXEへ >LHA s },{LHAs;im({Yes})},
{ファイル解凍 >LHA x },{LHAext;im({Yes})},
{凍結ファイル一覧 >LHA l },{LHAlst;im({Yes})},
{ファイル石化 >ISH /s },{ISHstr;im({Yes})},
{ファイル解石 >ISH /r },{ISHres;im({Yes})},
{ファイル圧縮 >DIET },{DIETarc;im({Yes})},
{ファイル復元 >DIET -ra },{DIETres;im({Yes})},
{ファイル差分作成 >BDIFF },{BDIFF;im({Yes})},
{ファイル差分更新 >BUPDATE },{BUPDATE;im({Yes})},
{ 終 了 },{im({No})});
});
};
/************************************************************************
* ファイル操作メインメニュー *
*************************************************************************/
/* 設定する情報の選択 */
%DORAFILE{
loop ({
SNDMSG({erande_f.snd});
footnote({ファイル編集を選択して下さい});
select ({ファイル編集メインメニュー},
Wtime4,{im({No})},
{ ファイル基本操作 },{FILEman1;im({Yes})},
{ 既存ファイル編集 },{EDIT(1); im({Yes})},
{ 新規ファイル編集 },{EDIT(0); im({Yes})},
{ NAPLPS表示 - },{NAPLPS;im({Yes})},
{ 応用操作(lha,ish,diet,bdiff) },{FILEman2;im({Yes})},
{ ディレクトリ操作 },{DIRman;im({Yes})},
{ 終 了 },{im({No})}
)})};
/* 作業領域定義 */
var OLDFILE [64];var NEWFILE [64];
var OLDDIR [64];var NEWDIR [64];
/* 実行文 */
DORAFILE;